home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: alt.sys.pdp8,alt.answers,news.answers
- Path: senator-bedfellow.mit.edu!enterpoop.mit.edu!gatech!howland.reston.ans.net!ux1.cso.uiuc.edu!moe.ksu.ksu.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news
- From: jones@cs.uiowa.edu (Douglas W. Jones)
- Subject: PDP-8 Frequently Asked Questions (posted every other month)
- Summary: Answers to common questions about antique DEC PDP-8 computers.
- Those posting to alt.sys.pdp8 should read this.
- Sender: news@news.uiowa.edu (News)
- Message-ID: <1993Jun9.173754.27638@news.uiowa.edu>
- Approved: news-answers-request@MIT.Edu
- Date: Wed, 9 Jun 1993 17:37:54 GMT
- Expires: Sat, 8 Aug 1992 08:08:08 GMT
- Nntp-Posting-Host: pyrite.cs.uiowa.edu
- Organization: Computer Science, University of Iowa, Iowa City, Iowa, USA
- Keywords: FAQ DEC PDP 8
- Followup-To: alt.sys.pdp8
- Lines: 808
- Xref: senator-bedfellow.mit.edu alt.sys.pdp8:233 alt.answers:395 news.answers:9225
-
- Archive-name: dec-faq/pdp8
- Last-modified: May. 12, 1993
-
- Frequently Asked Questions about the DEC PDP-8 computer.
-
- By Douglas Jones, jones@cs.uiowa.edu
- (with help from many folks)
-
- Contents
-
- What is a PDP?
- What is a PDP-8?
- What is the PDP-8 instruction set?
- What does PDP-8 assembly language look like?
- What different PDP-8 models were made?
- What about the LINC-8 and PDP-12?
- Where can I get a PDP-8 today?
- Where can I get PDP-8 documentation?
- What operating systems were written for the PDP-8?
- What programming languages were supported on the PDP-8?
- Where can I get PDP-8 software?
- Where can I get additional information?
- What use is a PDP-8 today?
- Who's Who?
-
-
- What is a PDP?
-
- For over a decade, all programmable digital computers sold by
- Digital Equipment Corporation were sold as Programmed Data
- Processors (PDPs) instead of computers. I have DEC documentation
- that actually calls them "PDPs", so this is not improper usage.
- DEC's first computer, the PDP-1, had a selling price of only
- $120,000 at a time when competing machines were selling for over
- $1,000,000. Everyone (the government and DEC's stockholders
- included) knew that computers were big and expensive and needed
- a computer center and a large staff; DEC chose to avoid dealing
- with these stereotypes by entirely avoiding the term "computer".
-
- DEC built a number of different computers under the PDP label, with
- a huge range of price and performance. The largest of these are
- fully worthy of large computer centers with big support staffs.
- Many early DEC computers were not really built by DEC. With the
- PDP-3 and LINC, for example, customers built the machines using DEC
- parts and facilities; the PDP-5 may also have been built on this
- basis. Here is the list of PDP computers:
-
- MODEL DATE PRICE BITS COMMENTS
- ===== ==== ======== ==== =====
- PDP-1 1960 $120,000 18 DEC's first computer
- PDP-2 NA 24 Never built?
- PDP-3 36 One was built by a customer, not by DEC.
- PDP-4 1962 18 Predecessor of the PDP-7.
- PDP-5 1963 $27,000 12 The ancestor of the PDP-8.
- PDP-6 1964 36 A big computer; 23 built, most for MIT.
- PDP-7 1965 ~$60,000 18 Widely used for real-time control.
- PDP-8 1965 $18,500 12 The smallest and least expensive PDP.
- PDP-9 1966 $35,000 18 An upgrade of the PDP-7.
- PDP-10 1967 36 A PDP-6 successor, great for timesharing.
- PDP-11 1970 $10,800 16 DEC's first and only 16 bit computer.
- PDP-12 1969 $27,900 12 A PDP-8 relative.
- PDP-13 NA Bad luck, there was no such machine.
- PDP-14 A ROM-based programmable controller.
- PDP-15 1970 $16,500 18 A TTL upgrade of the PDP-9.
- PDP-16 1972 NA 8/16 A register-transfer module system.
-
- Corrections and additions to this list are welcome! The prices
- given above are the prices for minimal systems in the year the
- machine was first introduced. The bits column indicates the word
- size. It's worth noting that the DEC PDP-10 became the
- DECSYSTEM-20 as a result of marketing considerations, and DEC's
- VAX series of computers began as the Virtual Address eXtension of
- the never-produced PDP-11/78.
-
- It is worth mentioning that there are persistant rumors that the
- the Data General Nova was originally developed as the PDP-X, a
- 16-bit multi-register version of the PDP-8. A prototype PDP-X
- was apparently built at DEC before the design was rejected.
- This and a competing 16-bit design were apparently submitted to
- Harold McFarland at Carnegie-Mellon University for evaluation;
- McFarland (and possibly also Gordon Bell, who was at C-MU at the
- time) evaluated the competing designs and rejected both in favor
- of the design now known as the PDP-11. (A less common variant on
- this story is that the reason that DEC never produced a PDP-13
- was because this number was assigned to what became the Nova;
- this is unlikely because the PDP-X prototype predated the PDP-11.)
- Both DEC and Data General don't talk publically about these
- stories.
-
- Today, all of the PDP machines are in DEC's corporate past, with the
- exception of the PDP-11 family of minicomputers and microprocessors.
-
-
- What is a PDP-8?
-
- The PDP-8 family of minicomputers were built by Digital Equipment
- corporation between 1965 and 1990 (if you include the PDP-5, the
- starting date should be 1963). These machines were characterized
- by a 12 bit word, with no hardware byte structure, a 4K minimum
- memory configuration, and a simple but powerful instruction set.
- By 1970, the PDP-8 was the best selling computer in the world, and
- many models of the PDP-8 set new records as the least expensive
- computer on the market. The PDP-8 has been described as the
- model-T of the computer industry because it was the first computer
- to be mass produced at a cost that just about anyone could afford.
-
- C. Gordon Bell (who later was chief architect of the PDP-11 and
- who, as Vice President, oversaw the development of the VAX) says
- that the basic idea of the PDP-8 was not really original with him.
- He gives credit to Seymour Cray (of CDC and later Cray) for the
- idea of a single-accumulator 12 bit minicomputer. Cray's CDC 160
- family, sold starting around 1959, certainly was a very similar 12
- bit architecture, and the peripheral processors of Cray's first
- supercomputer, the CDC 6600, are also familiar to PDP-8
- programmers.
-
- Note that the CDC 160 and CDC 6600 peripheral processors had
- 6 basic addressing modes, with variable length instruction words
- and other features that were far from the simple elegance of the
- PDP-8. Despite its many modes, the CDC architecture lacked the
- notion of current page addressing, and the result is that for
- examples that don't involve indexing, PDP-8 code is frequently
- just as effective as the code on the more complex CDC 12-bit
- minicomputers.
-
-
- What is the PDP-8 instruction set?
-
- The PDP-8 word size is 12 bits, and the basic memory is 4K
- words. The minimal CPU contained the following registers:
-
- PC - the program counter, 12 bits.
- AC - the accumulator, 12 bits.
- L - the link, 1 bit, commonly prefixed to AC as <L,AC>.
-
- It is worth noting that many operations such as procedure linkage
- and indexing, which are usually thought of as involving registers,
- are done with memory on the PDP-8 family.
-
- Instruction words are organized as follows:
- _ _ _ _ _ _ _ _ _ _ _ _
- |_|_|_|_|_|_|_|_|_|_|_|_|
- | | | | |
- | op |i|z| addr |
-
- op - the opcode.
- i - the indirect bit (0 = direct, 1 = indirect).
- z - the page bit (0 = page zero, 1 = current page).
- addr - the word in page.
-
- The top 5 bits of the 12 bit program counter give the current page,
- and memory addressing is also complicated by the fact that absolute
- memory locations 8 through 15 are incremented prior to use when
- used for indirect addressing. These locations are called the
- auto-index registers (despite the fact that they are in memory),
- and they allow the formulation of very tightly coded array
- operations.
-
- The basic instructions are:
-
- 000 - AND - and operand with AC.
- 001 - TAD - add operand to <L,AC> (a 13 bit value).
- 010 - ISZ - increment operand and skip if result is zero.
- 011 - DCA - deposit AC in memory and clear AC.
- 100 - JMS - jump to subroutine.
- 101 - JMP - jump.
- 110 - IOT - input/output transfer.
- 111 - OPR - microcoded operations.
-
- The ISZ and other skip instructions conditionally skip the next
- instruction in sequence. The ISZ is commonly used to increment a
- loop counter and skip if done, and it is also used as an general
- increment instruction, either followed by a no-op or in contexts
- where it is known that the result will never be zero.
-
- The subroutine calling sequence involves putting the return
- address in relative word zero of the subroutine, with execution
- starting with relative word one. Return from subroutine is done
- with an indirect jump through the return address. Subroutines
- frequently increment their return addresses to index through
- inline parameter lists or to provide return codes by conditionally
- skipping the next instruction.
-
- The IOT instruction has the following form:
- _ _ _ _ _ _ _ _ _ _ _ _
- |1|1|0|_|_|_|_|_|_|t|c|s|
- | | | |
- | | device | op |
-
- The IOT instruction specifies one of up to 8 operations on one of
- 64 devices. Typically (but not universally), each bit of the op
- field evokes an operation as follows: If the s bit is set, the
- instruction causes a skip if the device is ready, if the c bit is
- set, the device ready status is reset and, for some devices, AC is
- also cleared, and if the t bit is set, data is either ored with AC
- or output from AC to the device. Prior to the PDP-8/E, there were
- severe restrictions on the interpretation of the t, c and s bits.
-
- IOT instructions may be used to initiate data break transfers from
- block devices such as disk or tape. The term "data break" was,
- for years, DEC's preferred term for cycle-stealing direct-memory-
- access data transfers.
-
- Some CPU functions are accessed only by IOT instructions. For
- example, interrupt enable and disable are IOT instructions, as
- are instructions controlling the optional memory management
- unit that is needed to address more than 4K words.
-
- A wide variety of operations are available through the OPR
- microcoded instructions:
- _ _ _ _ _ _ _ _ _ _ _ _
- Group 1 |1|1|1|0|_|_|_|_|_|_|_|_|
- 1 - CLA - clear AC
- 1 - CLL - clear the L bit
- 1 - CMA - ones complement AC
- 1 - CML - complement L bit
- 1 - IAC - increment <L,AC>
- 1 0 0 - RAR - rotate <L,AC> right
- 0 1 0 - RAL - rotate <L,AC> left
- 1 0 1 - RTR - rotate <L,AC> right twice
- 0 1 1 - RTL - rotate <L,AC> left twice
-
- In general, the above operations can be combined by oring the
- bit patterns for the desired operations into a single instruction.
- If none of the bits are set, the result is the NOP instruction.
- When these operations are combined, they operate top to bottom
- in the order shown above. The exception to this is that IAC cannot
- be combined with the rotate operations on some models, and attempts
- to combine rotate operations have different effects from one model
- to another (for example, on the PDP-8/E, the rotate code 001 means
- swap 6 bit bytes in the accumulator, while previous models took
- this to mean something like "shift neither left nor right 2 bits").
- _ _ _ _ _ _ _ _ _ _ _ _
- Group 2 |1|1|1|1|_|_|_|_|_|_|_|0|
- 1 0 - SMA - skip on AC < 0 \
- 1 0 - SZA - skip on AC = 0 > or
- 1 0 - SNL - skip on L /= 0 /
- 0 0 0 1 - SKP - skip unconditionally
- 1 1 - SPA - skip on AC >= 0 \
- 1 1 - SNA - skip on AC /= 0 > and
- 1 1 - SZL - skip on L = 0 /
- 1 - CLA - clear AC
- 1 - OSR - or switches with AC
- 1 - HLT - halt
-
- The above operations may be combined by oring them together,
- except that there are two distinct incompatible groups of skip
- instructions. When combined, SMA, SZA and SNL, skip if one or the
- other of the indicated conditions are true, while SPA, SNA and SZL
- skip if all of the indicated conditions are true (logical and).
- When combined, these operate top to bottom in the order shown;
- thus, the accumulator may be tested and then cleared. Setting
- the halt bit in a skip instruction is a crude but useful way to
- set a breakpoint for front-panel debugging. If none of the bits
- are set, the result is an alternative form of no-op.
-
- A third group of operate microinstructions (with a 1 in the least
- significant bit) deals with the optional extended arithmetic
- element to allow such things as hardware multiply and divide, 24
- bit shift operations, and normalize. These operations involve
- an additional data register, MQ or multiplier quotient, and a small
- step count register. On the PDP-8/E and successors, MQ and the
- instructions for loading and storing it were always present, even
- when the EAE was absent, and the EAE was extended to provide a
- useful variety of 24 bit arithmetic operations.
-
-
- What does PDP-8 assembly language look like?
-
- Here is an example:
-
- START, CLA CLL / Clear everything
- TAD X / Load X
- AND I Y / And with the value pointed to by Y
- DCA X / Store in X
- HLT / Halt
-
- X, 1 / A variable
- Y, 7 / A pointer
-
- Note that labels are terminated by a comma, and comments are
- separated from the code by a slash. There are no fixed fields
- or column restrictions. The "CLA CLL" instruction on the first
- line is an example of the microcoding of two of the Group 1
- operate instructions. CLA alone has the code 7200 (octal),
- while CLL has the code 7100; combining these as "CLA CLL" produces
- 7300, the instruction to clear both AC and the link bit. As a
- general rule, except when memory reference instructions are
- involved, the assembler simply ors together the values of all
- blank separated fields between the label and comment.
-
- Indirection is indicated by the special symbol I in the operand
- field, as in the third line of the example. The typical PDP-8
- assembler has no explicit notation to distinguish between page zero
- and current page addresses. Instead, the assembler is expected to
- note the page holding the operand and automatically generate the
- appropriate mode. If the operand is neither in the current page
- nor page zero, some assemblers will raise an error, others will
- automatically generate an indirect pointer to the off-page operand
- (This feature should be avoided!).
-
- Note, in the final two lines of the example, that there is no
- "define constant" pseudo-operation. Instead, where a constant
- is to be assembled into memory, the constant takes the place of
- the op-code field.
-
- The PDP-8 has no immediate addressing mode, but some assemblers
- provide an optional mechanism to allow the programmer to ignore
- this lack:
-
- TAD (3) / add 3, from memory on the current page.
- TAD [5] / add 5, from memory on page zero.
- JMP I (LAB) / jump indirect through the address of LAB.
-
- Assemblers that support this automatically fill the end of each page
- with constants defined in this way that have been accumulated during
- the assembly of that page.
-
- Arithmetic is allowed in operand fields and constant definitions,
- but expressions are evaluated in strict left-to-right order, as
- shown below:
-
- TAD X+1 / add the contents of the location after X.
- TAD (X-1) / add the address of the location before X.
-
- Other operators allowed included and (&), or (!), multiply (^) and
- divide (%), as well as a unary sign (+ or -). Unfortunately, one
- of the most widely used assemblers, PAL 8, has trouble when unary
- operators are mixed with multiplication or division.
-
- Generally, identifiers are not limited in length, but only the
- first 6 characters are significant. All numeric constants are
- in octal, unless a DECIMAL pseudo-op has been used to change number
- base (change back with the OCTAL pseudo-op).
-
- Other assembly language features are illustrated below:
-
- / Comments may stand on lines by themselves
- / Blank lines are allowed
-
- *200 / Set the assembly origin to 200 (octal)
-
- NL0002= CLA CLL CML RTL / Define new opcode NL0002.
-
- NL0002 / Use new opcode (load 0002 in AC)
- JMP .-1 / Jump to the previous instruction
-
- X1= 10 / Define X1 (an auto-index register address)
-
- TAD I X1 / Use autoindex register 1
-
- IAC; RAL / Multiple instructions on one line
-
- $ / End of assembly
-
- The assembly file ends with a line containing a $ (dollar sign)
- not in a comment field.
-
-
- What different PDP-8 models were made?
-
- The total sales figure for the PDP-8 family is estimated at over
- 300,000 machines. Over 8500 of these were sold prior to 1970.
- During the PDP-8 production run, a number of models were made, as
- listed in the following table. Of these, the PDP-8/E is generally
- considered to be the definitive machine. If the PDP-8 is
- considered to be the Model T of the computer industry, perhaps
- the PDP-8/E should be considered to be the industry's Model A.
-
- MODEL DATES SALES COST TECHNOLOGY REMARKS
-
- PDP-5 63-65 Transistor Limited compatibility
- PDP-8 65-68 >1000 $18,500 Transistor Table-top or rack
- LINC-8 66-69 153 $38,500 Transistor Rack only
- PDP-8/S 66-70? >1000? $10,000 Transistor Incompatable, slow!
- PDP-8/I 68-70? >2000? $12,800 TTL Pedistal or rack
- PDP-8/L 68-70? >2000? $8,500 TTL Scaled down 8/I (1)
- PDP-12 69-71 3500 $27,900 TTL Followup to LINC-8
- PDP-8/E 70-78 >10K? $7,390 TTL MSI Omnibus Table-top or rack
- PDP-8/F 72-78? >10K? <$7K TTL MSI Omnibus Based on 8/E CPU
- PDP-8/M 72-78? >10K? <$7K TTL MSI Omnibus OEM version of 8/F
- PDP-8/A 75-84? >10K? <$7K TTL LSI Omnibus New CPU or 8/E CPU
- VT78 (2)78-80 > ? Microprocessor Intersil IM6100
- Dm I (3)80-84 Microprocessor Harris 6120
- Dm II 82-86 $1,435 Microprocessor Harris 6120
- Dm III 84-90 $2,695 Microprocessor
- Dm III+ 85-90 Microprocessor
-
- Notes (1) Memory upgrade to 32K words was eventually sold.
- (2) The VT78 was also known as the DECstation 78.
- (3) Dm stands for DECmate.
-
- When possible, the costs given in the above table are for a minimal
- system in the first year of production; for most PDP-8 systems,
- such a system would have 4K of main memory, a console teletype,
- and the minimal software needed to use the machine (FOCAL, BASIC,
- or a paper-tape based assembler). Additional information on costs
- and production is needed!
-
- The above list does not include many PDP-8 variants sold by DEC
- to meet the needs of various special users. For example, the
- Industrial-8 was really just a PDP-8/E with a different nameplate
- and color scheme. Burger King had thousands of PDP-8/M based
- point-of-sale systems with no standard peripherals. In addition,
- DEC made many peripheral controllers for the PDP-11 and PDP-15
- that used IM6100 and 6120 microprocessors from Intersil and Harris.
-
- The last years of the PDP-8 family were dominated by the DECmate
- machines. DEC sold these primarily as word processing systems,
- and in the end, they chose to obscure the ability of the DECmate
- systems to run any software other than WPS, DEC's word processing
- system.
-
- The following PDP-8 compatible or semi-compatible machines were
- made and sold by others; very little is known about many of these:
-
- MODEL DATE MAKER, NOTES
-
- MP-12 6? Fabritek
- TPA 68? Hungarian, possibly a DEC PDP-8/L in drag
- DCC-112 70-71 Digital Computer Controls
- DCC-112H 71 Digital Computer Controls
- 6100 Sampler 7? Intersil, their IM6100 promotional kit
- Intercept 7? Intersil, based on IM6100
- Intercept Jr 7? Intersil, based on IM6100
- PCM-12 7? Pacific CyberMetrix, based on Intercept bus
- SBC-8 84-88 CESI, Based on IM6120, SCSI bus
-
-
- What about the LINC/8 and PDP-12?
-
- Wesley Clark, then at Lincoln Labs, developed the LINC, or
- Laboratory INstrumentation Computer, as a personal laboratory
- computer in the early 1960's. He developed it in response to
- the needs of Mary Brazier, a neurophysiologist at MIT who needed
- better laboratory tools.
-
- When Lincoln Labs decided that the LINC did not fit their mission,
- a group at the the National Institute of Health funded an
- experiment to see if the LINC would be a productive tool in the
- life sciences. As a result of this project, 12 LINCs were
- built and debugged, each by its eventual user.
-
- The LINC was built using DEC's first family of logic modules,
- and along with the CDC 160, it paved the way for the PDP-5 and
- PDP-8.
-
- When compared with the PDP-8, the LINC instruction set was not
- as well suited for general purpose computation, but the common
- peripherals needed for lab work such as analog to digital and
- digital to analog converters were all bundled into the LINC
- system. Users judged it to be a superb laboratory instrument.
-
- One of the major innovations introduced with the LINC was the
- LINCtape. These tapes could be carelessly pocketed or dropped on
- the floor without fear of data loss, and they allowed random
- access to data blocks. DEC improved on this idea slightly to
- make their DECtape format, and DECtape was widely used with all
- DEC computers made in the late 1960's and early 1970's.
-
- Within a year of the introduction of the PDP-8, DEC released the
- LINC-8, a machine that combined a PDP-8 with a LINC in one
- package. This was not a general purpose dual processor, in the
- sense of allowing both machines to execute in parallel, but
- rather, a machine with the hardware of both but restrictions
- that effectively prevented more than one from running at a time.
-
- The sales success of the LINC-8 led DEC to re-engineer the
- machine using TTL logic in the late 1960's; the new version was
- originally developed as the LINC-8/I, but it was sold as the
- PDP-12; thousands were sold. Both the LINC-8 and the PDP-12 had
- impressive consoles, with full sets of lights and switches for
- the registers of each processor.
-
- These machines could run essentially any PDP-8 or LINC software,
- but because they included instructions for switching between
- modes, a third body of software was developed that required
- both instruction sets.
-
- One feature of LINC and LINC-8 software is the common use of the
- graphic display for input-output. These machines were some of
- the first to include such a display as a standard component, and
- many programs used the knobs on the analog to digital converter
- to move a cursor on the display in the way we now use a mouse.
-
- LAP, the Linc Assembly Program, was the dominant assembler used
- on the LINC. WISAL (WISconson Assembly Language) or LAP6-W was
- the version of this assembler that survived to run on the PDP-12.
- Curiously, this includes a PDP-8 assembler written in LINC code.
-
- LAP-6 DIAL (Display Interactive Assembly Language) evolved from
- this on the PDP-12 to became the dominant operating system for
- the PDP-12. The 8K version of this is DIAL MS (Mass Storage),
- even if it has only two LINCtape drives. These were eventually
- displaced by the OS/8 variant known as OS/12.
-
-
- Where can I get a PDP-8 today?
-
- The CESI machine may still be on the market, for a high price, but
- generally, you can't buy a new PDP-8 anymore. There are quite a
- few PDP-8 machines to be found in odd places on the used equipment
- market. They were widely incorporated into products such as
- computer controlled machine tools, X-ray diffraction machines, and
- other industrial and lab equipment. Many of them were sold under
- the EduSystem marketing program to public schools and universities,
- and others were used to control laboratory instrumentation.
- Reuters bought the tail end of the Omnibus based production run.
-
- If you can't get real hardware, you can get emulators. Over the
- years, many PDP-8 emulators have been written; the best of these
- are indistinguishable from the real machine from a software
- prespective, and on a modern high-speed RISC platform, these
- frequently outperform the hardware they are emulating.
-
- It is worth noting that the PDP-8, when it was introduced in 1965,
- was about as fast as was practical with the logic technology used
- at the time; only by using tricks like memory interleaving or
- pipelining could the machine have been made much faster.
-
- Finally, you can always build your own. The textbook "The Art of
- Digital Design," second edition, by Franklin Prosser and David
- Winkel (Prentice-Hall, 1987, ISBN 0-13-046780-4) uses the design
- of a PDP-8 as a running example. Many students who have used this
- book were required to build working PDP-8 systems as lab projects.
-
-
- Where can I get PDP-8 documentation?
-
- The 1973 Introduction to Programming was probably DEC's definitive
- manual for this family, but it is out of print, and DEC was in the
- habit of printing much of their documentation on newsprint with
- paperback bindings, which is to say, surviving copies tend to be
- yellow and brittle.
-
- DEC distributed huge numbers of catalogs and programming handbooks
- in this inexpensive paperback format, and these circulate widely
- on the second-hand market. When research laboratories and
- electronics shops are being cleaned out, it is still common to
- find a few dusty, yellowed copies of these books being thrown in
- the trash.
-
- Maintenance manuals are harder to find, but more valuable.
- Generally, you'll need to find someone who's willing to photocopy
- one of the few surviving copies. Fortunately, DEC has been
- friendly to collectors, granting fairly broad letters of permission
- to reprint obsolete documentation, and the network makes if fairly
- easy to find someone who has the documentation you need and can
- get copies.
-
-
- What operating systems were written for the PDP-8?
-
- A punched paper-tape library of stand-alone programs was commonly
- used with the smallest (diskless and tapeless) configurations from
- the beginning up through the mid 1970's. Many paper tapes from
- this library survive to the present at various sites! The minimum
- configuration expected by these tapes is a CPU with 4K memory,
- and a teletype ASR 33 with paper tape reader and punch.
-
- The DECtape Library System was an early DECtape oriented save and
- restore system that allowed a reel of tape to hold a directory of
- named files that could be loaded and run on a 4K system.
- Eventually, this supported a very limited tape-based text editor
- for on-line program development. This did not use the DECtape's
- block addressable character; the software was based on minimal
- ports of the paper-tape based software described above.
-
- The 4K Disk Monitor System provided slightly better facilities.
- This supported on-line program development and it worked with any
- device that supported 129 word blocks (DECtape, the DF32 disk, or
- the RF08 disk).
-
- MS/8 or the R-L Monitor System, developed starting in 1966 and
- submitted to DECUS in 1970. This was a disk oriented system,
- faster than the above, with tricks to make it run quickly on
- DECtape based systems.
-
- POLY BASIC, a BASIC only system submitted to DECUS and later sold
- by DEC as part of its EduSystem marketing program.
-
- P?S/8, developed starting in 1971 from an MS/8 foundation. Runs
- on minimal PDP-8 configurations, supports device semi-independant
- I/O and a file system on a random-access device, including DECtape.
- P?S/8 runs compatably on most PDP-8 machines including DECmates,
- excepting only the PDP-8/S and PDP-5. P?S/8 is still being
- developed!
-
- OS/8, developed in parallel with P?S/8, became the main PDP-8
- programming environment sold by DEC. The minimum configuration
- required was 8K words and a random-access device to hold the
- system. For some devices, OS/8 requires 12K. There are a large
- number of OS/8 versions that are not quite portable across various
- subsets of the PDP-8 family.
-
- OS8 (no slash) may still be viable. It requires 8K of main memory,
- an extended arithmetic unit, and DECtape hardware. Unlike most
- PDP-8 operating systems, it uses a directory structure on DECtape
- compatable with that used on the PDP-10.
-
- TSS/8 was developed in 1968 as a timesharing system. It required
- a minimum of 12K words of memory and a swapping device. It was
- the standard operating system on the EduSystem 50 which was sold
- to many small colleges and large public school systems. Each user
- gets a virtual 4K PDP-8; many of the utilities users ran on these
- virtual machines were only slightly modified versions of utilities
- from the Disk Monitor System or paper-tape environments.
-
- Other timesharing systems developed for the PDP-8 include MULTI-8,
- ETOS, MULTOS, and OMNI-8; some of these required nonstandard
- memory management hardware. By the mid 1970's, some of these were
- true virtual machine operating systems in the same spirit as IBM's
- VM-370; they could support some version of OS/8 running on a 32K
- virtual PDP-8 assigned to each user. Some could support different
- user operating systems on each virtual machine, others required
- OS/8 as the user system and only allowed code to execute from
- virtual field zero of a process's virtual memory.
-
- CAPS-8 was a cassette based operating system supporting PAL and
- BASIC. There are OS/8 utilities to manipulate CAPS-8 cassettes,
- and the file format on cassette is compatible with a PDP-11 based
- system called CAPS-11.
-
- WPS was DEC's word processing system that was widely used on the
- 1980's vintage machines with a special WPS keycaps replacing the
- standard keycaps on the keyboard. This was written in the 1970's,
- and was the primary system used on the DECmate systems.
-
- COS-310, DEC's commercial operating system for the PDP-8, supported
- the DIBOL language. COS-310 was a derivative of MS/8 and OS/8, but
- with a new text file format. The file system is OS/8 compatable,
- and a few applications can run under either COS or OS/8.
-
-
- What programming languages are supported on the PDP-8
-
- The PAL family of assembly languages are as close to a standard
- assembly language as can be found for the PDP-8. These produce
- absolute object code and versions of PAL will run on minimally
- configured machines (but with a small symbol table). Assembly
- of large programs frequently requires far more memory for symbol
- table management.
-
- MACRO-8 was DEC's first macro assembly language for the PDP-8, but
- it was never used outside the paper-tape environment except under
- the OS8 operating system. MACREL and SABR are assembly languages
- that produce relocatable output. SABR is the final pass for the
- ALICS II FORTRAN compiler, and MACREL was developed in
- (unfulfilled) anticipation of similar use. MACREL was heavily
- used by the DECmate group at DEC.
-
- There was also RALF, the relocatable assembler supporting RTPS
- FORTRAN, and FLAP, an absolute assembler derived from RALF.
- Both SABR and RALF/FALP are assemblers that handle their intended
- applications but have quirky and incompatible syntax.
-
- A subset of FORTRAN was supported on both the PDP-5 and the
- original PDP-8. Surviving documentation describes a DEC compiler
- from 1964 and a compiler written by Information Control Systems
- from 1968. The latter, ALICS II FORTRAN, was originally a paper
- tape based compiler, but it forms the basis of the OS/8 8K FORTRAN
- compiler, and was also adapted to the Disk Monitor System.
-
- RTPS FORTRAN required 8K and a floating point processor; it had
- real-time extensions and was a full implementation of FORTRAN IV
- (also known as ANSI FORTRAN 66). OS/8 F4 is RTPS FORTRAN stripped
- of the requirement for hardware floating point (if the hardware is
- missing, it uses software emulation).
-
- FOCAL, an interpretive language comparable to BASIC was available
- on all models of the family, including the PDP-5 and PDP-8/S.
- Varsions of FOCAL run under PS/8, P?S/8 and other systems.
-
- BASIC was also available, and was widely used on PDP-8 systems
- sold under the EduSystem marketing program. A paper-tape version
- was available that ran in 4K, there were versions that ran under
- OS/8 and TSS/8, there was an 8K stand-alone time-sharing version,
- and there were many others.
-
- DIBOL was DEC's attempt at competing with COBOL in the commercial
- arena. It was originally implemented under MS/8 but most versions
- were sold to run under the COS operating system.
-
- Algol was available from a fairly early date.
-
- At least two Pascal compilers were developed for the PDP-8. One
- was a Pascal-S interpreter, written in assembler, the other was a
- Pascal-P compiler with a P-code interpreter written in assembler.
-
- At least two LISP interpreters were written for the PDP-8; one
- runs in 4K, the other can use up to 16K.
-
- TECO, the text editor, is available, and is also a general purpose
- language, and someone is working on a PDP-8 C. The story of TECO
- on the PDP-8 is convoluted. Russ Ham implemented TECO under his
- OS8 (without a slash) system. This version of TECO was pirated by
- the Oregon Museum of Science and Industry (OMSI), where the system
- was ported to PS/8. Richard Lary and Stan Rabinowitz made it
- more compatible with other versions of TECO, and the result of
- work is the version distributed by DECUS. RT-11 TECO for the
- PDP-11 is a port of this code.
-
-
- Where can I get PDP-8 software?
-
- DECUS, the DEC User Society, is still alive and well, and their
- submission form still lists PAL-8 and FOCAL as languages in which
- they accept submissions! The DECUS library is available on-line
- by anonymous FTP at acfcluster.nyu.edu in subdirectory DECUS.
- To quote the README file from the current on-line catalog, "Items
- from older DECUS Library catalogs are still also available
- (provided their media can still be read), but machine readable
- catalog information is not available for these." Direct questions
- by E-mail to INFORMATION@DECUS.ORG.
-
- There is a young but growing FTPable archive of PDP-8 software at
- ftp.telebit.com in directory /pub/pdp8. Another archive that
- contains considerable PDP-8 related material, along with material
- related to other DEC computers, is at sunsite.unc.edu in directory
- /pub/academic/computer-science/history/.
-
-
- Where can I get additional information?
-
- The file WHAT-IS-A-PDP8, by Charles Lasner contains considerable
- additional information; this file is included in the FTPable
- archive cited above. This file gives details of every model
- of the PDP-8, including the small quirks and incompatabilities
- that (to be generous) allow software to determine which model it
- is running on. These quirks also make it all too easy for
- careless programmers to write almost portable software with very
- obscure bugs.
-
- The mailing list pdp8-lovers@ai.mit.edu reaches a number of PDP-8
- owners and users, not all of whom have USENET feeds. The USENET
- newsgroup alt.sys.pdp8 is fairly new, but someday, the newsgroup
- and mailing list should be gatewayed to each other.
-
- Many "archival" books have included fairly complete descriptions
- of the PDP-8; among them, "Computer Architecture, Readings and
- Examples" by Gordon Bell and Allen Newell is among the most
- complete (and difficult to read). Considering Bell's role in the
- design of the PDP-8 and the history of DEC, the description in
- this book should be accurate!
-
-
- What use is a PDP-8 today?
-
- What use is a Model T today? Collectors of both come in the same
- basic classes. First, there are antiquarians who keep an old one
- in the garage, polished and restored to new condition but hardly
- ever used. Once a year, they warm it up and use it, just to prove
- that it still works, but they don't have much practical use.
-
- PDP-8 systems maintained by antiquarians are frequently in
- beautiful shape. Antiquarians worry about dust, chipped paint,
- and missing switches, and they establish newsgroups and mailing
- lists to help them locate parts and the advice needed to fix their
- machines.
-
- In the second class are those who find old machines and soup them
- up, replacing major parts to make a hotrod that only looks like
- the original from the outside, or keeping the old mechanism and
- putting it to uses that were never intended. Some PDP-8 owners,
- for example, are building PDP-8 systems with modern SCSI disk
- interfaces! There is serious interest in some quarters in
- constructing an omnibus board that would support an IDE disk of
- the variety that was mass-produced for the IBM PC/AT.
-
- Last, there are the old folks who still use their old machines for
- their intended purposes long after any sane economic analysis
- would recommend such use. If it ain't broke, don't fix it, and if
- it can be fixed, why bother replacing it? Both Model T Fords and
- the classic PDP-8 machines are simple enough that end users can
- maintain and repair them indefinitely. All you need to keep a
- vintage -8 running are a stock of inexpensive silicon diodes and
- a stock of 2N3639B or better, 2N3640 transistors.
-
- Unlike most modern personal computers, PDP-8 systems were
- routinely sold with complete maintenance manuals; these included
- schematic diagrams, explanations of not only how to use the
- devices, but how they are built, and suggestions to those
- considering building their own peripherals. Compared with many
- so-called "open systems" of today, the PDP-8 seems to have been far
- better documented and far more open.
-
- Finally, the PDP-8 is such a minimal machine that it is an excellent
- introduction to how computers really work. Over the years, many
- students have built complete working PDP-8 systems from scratch as
- lab projects, and the I/O environment on a PDP-8 is simple enough
- that it is a very appropriate environment for learning operating
- system programming techniques.
-
- Who's Who?
-
- C. Gordon Bell is generally credited with the original design of
- the PDP-8. He also recommended what became the PDP-11 when that
- design was competing with the design that probably became the NOVA,
- and as vice president of research, he oversaw the development of
- the DEC VAX family.
-
- Ben Gurley designed most of the big DEC machines, starting with
- the PDP-1.
-
- Ken Olson ran DEC from the beginning.
-
- Wesley Clark developed the LINC while working at Lincoln Labs;
- this was the first 12 bit minicomputer built with DEC parts.
-